package com.ktgj.flight.common;

import com.ktgj.flight.common.ruili.drdomain.BookingSegment;
import com.ktgj.flight.domain.InterfaceEntity.*;

import java.io.IOException;

/**
 * 机票产品基类
 */
public abstract class BaseClass {
    /// <summary>
    /// 机票查询
    /// </summary>
    /// <param name="Request"></param>
    /// <returns></returns>
    public MoFlightSearchResponse _FlightSearch(MoFlightSearchRequest moFlightSearch) {
        return null;
    }

    /// <summary>
    /// 航班验价（针对某个舱位进行验价）
    /// </summary>
    /// <param name="Request"></param>
    /// <returns></returns>
    public MoFlightCheckResponse _FlightCheck(MoFlightCheckRequest moFlightCheckRequest){
        return null;
    }


    /// <summary>
    /// 政策查询（针对某个舱位进行政策查询）
    /// </summary>
    /// <param name="Request"></param>
    /// <returns></returns>
    public MoPolicyResponse _PolicySearch(MoPolicyRequest Request)
    {
        return null;
    }


    /// <summary>
    /// 创建订单（创建合作商订单）
    /// </summary>
    /// <param name="Request"></param>
    /// <returns></returns>
    public MoCreateOrderResponse _OrderCreate(MoCreateOrderRequest moCreateOrderRequest) throws IOException {
        return null;
    }


    /// <summary>
    /// 订单验价
    /// </summary>
    /// <param name="Request"></param>
    /// <returns></returns>
    public MoOrderCheckResponse _OrderCheck(MoOrderCheckRequest moOrderCheckRequest)
    {
        return null;
    }

    /// <summary>
    /// 支付订单
    /// </summary>
    /// <param name="Request"></param>
    /// <returns></returns>
    public MoOrderPayResponse _OrderPay(MoOrderPayRequest moOrderPayRequest) throws IOException {
        return null;
    }

    /// <summary>
    /// 支付回调通知解析
    /// </summary>
    /// <param name="Request"></param>
    /// <returns></returns>
    public MoPayCallBackResponse _PayCallBack(MoPayCallBackRequest moPayCallBackRequest)
    {
        return null;
    }

    /// <summary>
    /// 查询支付处理结果信息
    /// </summary>
    public MoQueryPayResponse _QueryPay(MoQueryPayRequest moQueryPayRequest)
    {
        return null;
    }

    /// <summary>
    /// 查询订单信息
    /// </summary>
    /// <param name="Request"></param>
    /// <returns></returns>
    public MoQueryOrderResponse _QueryOrderInfo(MoQueryOrderRequest moQueryOrderRequest) throws IOException {
        return null;
    }

    /// <summary>
    /// 出票回调通知解析
    /// </summary>
    /// <param name="Request"></param>
    /// <returns></returns>
    public MoOutTicketCallBackResponse _OutTicketCallBack(MoOutTicketCallBackRequest moOutTicketCallBackRequest)
    {
        return null;
    }

    /// <summary>
    /// 查询出票信息
    /// </summary>
    /// <param name="Request"></param>
    /// <returns></returns>
    public MoQueryOutTicketResponse _QueryOutTicket(MoQueryOutTicketRequest moQueryOutTicketRequest)
    {
        return null;
    }

    /// <summary>
    /// 获取全量政策
    /// </summary>
    public MoPolicyResponse _GetFullPolicy(MoPolicyRequest moPolicyRequest)
    {

        return null;
    }

    /// <summary>
    /// 获取增量同步政策
    /// </summary>
    public MoPolicyResponse _UpdatePolicy(MoPolicyRequest moPolicyRequest)
    {

        return null;
    }

    /// <summary>
    /// 查询并计算可以退票乘机人和退票费用
    /// </summary>
    /// <returns></returns>
    public MoOrderRefundCaltResponse _OrderRefundCalt(MoOrderRefundCaltRequest moOrderRefundRequest, boolean isSubsidy) throws IOException {

        return null;
    }


    /// <summary>
    /// 申请退废票
    /// </summary>
    /// <returns></returns>
    public MoOrderRefundResponse _OrderRefund(MoOrderRefundRequest moOrderRefundRequest) throws IOException {

        return null;
    }

    /// <summary>
    /// 申请改期
    /// </summary>
    /// <returns></returns>
    public MoOrderChangeResponse _OrderChange(MoOrderChangeRequest moOrderChangeRequest) throws IOException {

        return null;
    }

    /// <summary>
    /// 退废票明细查询
    /// </summary>
    /// <param name="request"></param>
    /// <returns></returns>
    public MoOrderRefundDetailResponse _OrderRefundDetail(MoOrderRefundDetailRequest request) { return null; }

    /// <summary>
    /// 航变通知
    /// </summary>
    /// <param name="request"></param>
    /// <returns></returns>
    public MoFlightChangeNoticeResponse _FlightChangeNotice(MoFlightChangeNoticeRequest request) { return null; }

    /// <summary>
    /// 取消订单接口
    /// </summary>
    /// <param name="request"></param>
    /// <returns></returns>
    public MoCancelOrderResponse _CancelOrder(MoCancelOrderRequest request) throws IOException { return null; }

    /// <summary>
    /// 退票改签费用查询—航班查询 
    /// </summary>
    /// <param name="moFlightRefundAndChangFeeRequest"></param>
    /// <returns></returns>
    public MoReFlightRefundAndChangFeeResponse _SearchFlightRefundAndChangFee(MoFlightRefundAndChangFeeRequest moFlightRefundAndChangFeeRequest) { return null; }

    /// <summary>
    ///根据Pnr获取政策信息
    /// </summary>
    public MoAutoPayOutTickeResponse _GetPolicyByPnr(MoAutoPayOutTicketRequest request)
    {

        return null;
    }

    /// <summary>
    /// 取消入库
    /// </summary>
    public MoAutoPayOutTickeResponse _CancelStoreByPnr(MoAutoPayOutTicketRequest request)
    {

        return null;
    }

    /// <summary>
    /// pnr入库，支付，出票 （适用于：出票窗体）
    /// </summary>
    /// <param name="request"></param>
    public MoAutoPayOutTickeResponse _AutoPayOutTicket(MoAutoPayOutTicketRequest request) throws IOException {

        return null;
    }
    /// <summary>
    /// 上传附件操作
    /// </summary>
    /// <param name="request">请求参数</param>
    /// <returns>上传的结果</returns>
    public MoAttachmentResponse _AddAttachment(MoAttachmentRequest request)
    {
        return null;
    }

    /// <summary>
    /// 下载附件操作
    /// </summary>
    /// <param name="request">请求参数</param>
    /// <returns>下载的结果</returns>
    public MoAttachmentResponse _GetAttachment(MoAttachmentRequest request)
    {
        return null;
    }

    /// <summary>
    /// 删除附件操作
    /// </summary>
    /// <param name="request">请求参数</param>
    /// <returns>删除的结果</returns>
    public MoAttachmentResponse _DelAttachment(MoAttachmentRequest request)
    {
        return null;
    }

    /// <summary>
    /// 将接口返回的code转换成具体的文字描述
    /// </summary>
    /// <param name="strCode">接口返回code</param>
    /// <returns></returns>
    public String _ConvertDescByCode(String strCode)
    {

        return null;
    }

    /// <summary>
    /// 查询可改期的航班
    /// </summary>
    /// <returns></returns>
    public MoFlightSearchResponse _SearchChangeDateFlightInfo(MoRescheduleSearchRequest request) throws IOException {
        return null;
    }
    /// <summary>
    /// 改期
    /// </summary>
    /// <param name="request"></param>
    /// <returns></returns>
    public MoOrderChangeDateDetailResponse _OrderChangeDateDetail(MoOrderChangeDateDetailRequest request)
    {
        return null;
    }


    public String _ReplaceCityCode(String oldCityCode)
    {

        return oldCityCode.replace("PEK", "BJS").replace("XIY", "SIA").replace("NAY", "BJS").replace("PVG", "SHA");
    }

    /// <summary>
    /// 非自愿转自愿
    /// </summary>
    /// <param name="request"></param>
    /// <returns></returns>
    public MoCalcFeeResponse _ReCalcFee(MoCalcFeeRequest request)
    {
        return null;
    }

    /// <summary>
    /// 重新发起退票
    /// </summary>
    /// <param name="request"></param>
    /// <returns></returns>
    public MoOrderRefundResponse _ReApplyRefund(MoReApplyRefundRequest request)
    {
        return null;
    }

    /// <summary>
    /// 查询辅助产品
    /// </summary>
    /// <param name="request"></param>
    /// <returns></returns>
    public MoProductResponse _GetProducts(MoProductRequest request)
    {
        return null;
    }


    public MoResponse _FlightChangeProcess(MoFlightChangeNoticeResponse response)
    {
        return null;
    }
    /// <summary>
    /// 提取订单列表
    /// </summary>
    /// <param name="request"></param>
    /// <returns></returns>
    public MoOrderListResponse _GetOrderList(MoOrderListRequest request)
    {
        return null;
    }

    /// <summary>
    /// 提取退票订单列表
    /// </summary>
    /// <param name="request"></param>
    /// <returns></returns>
    public MoOrderRefundListResponse _GetOrderRefundList( MoOrderRefundListRequest request )
    {
        return null;
    }

    /// <summary>
    /// 查询退改签
    /// </summary>
    /// <param name="moRequest"></param>
    /// <returns></returns>
    public MoCabinTgqResponse _GetCabinTgq( MoCabinTgqRequest moRequest ) throws IOException {
        return null;
    }

    /// <summary>
    /// 改期确认接口
    /// </summary>
    /// <param name="moRequest"></param>
    /// <returns></returns>
    public MoChangeConfirmResponse _ChangeConfirm(MoChangeConfirmRequest request)
    {
        return null;
    }
    public MoRegisterResponse _Register(MoRegisterRequest request)
    {
        return null;
    }

    /**
     * 瑞丽验价接口专用
     * */
    public MoFlightCheckResponse _FlightCheck(BookingSegment bookingSegment) {return null;}
}
